初识 hybrid
hybrid 是什么,为何用 hybrid?
hybrid 即前端和客户端的混合开发。
hybrid存在价值:
- 可以快速迭代更新(无需APP审核)
- 体验流畅(和 NA 的体验基本类似)
- 减少开发成本和沟通成本,两端共用一套代码
webview
webview 是 APP 的一个组件。(APP 可以有也可以没有)。
用于加载 H5页面,即一个小型的浏览器内核。
file 协议
- 读取本地磁盘的文件,速度快,与网络环境无关
- 绝对路径
使用场景
NA:体验要求极致,变化不频繁(如头条的新闻)
hybrid:体验要求高,变化频繁(如头条的新闻详情页面)
hybrid 具体实现
- 前端做好静态页面(HTML JS CSS),将文件交给客户端
- 客户端拿到前端静态页面,以文件的形式存储在 APP 中
- 客户端在一个 webview 中
- 使用 file 协议加载静态页面
介绍一下 hybrid 更新和上线的流程
- 替换每个客户端的静态文件
客户端去 server 下载最新静态页面文件
分版本号
- 将静态文件压缩成 zip 包,上传服务器
- 服务端每次启动,都回去服务端检查版本号
- 如果不是最新,下载最新的包
- 下载完后解压,将现有文件覆盖
hybrid 和 H5 的主要区别
hybrid 的优点:
- 体验好,可快速迭代。
hybrid 的缺点: - 开发成本高。链条、测试、查 BUG 都比较麻烦。
- 运维成本高。
使用场景:
hybrid: 产品的稳定功能,体验要求高,迭代频繁。(产品型)
H5: 单次的运营活动或不常用功能。
前端 JS 和客户端如何通讯?(这里还是不太懂)
- 通讯的基本形式: 调用能力,传递参数,监听回调
- schema 协议的理解和使用
- 调用 schema 代码的封装
- 内置上线的好处:更快更安全